package com.zhao.fishingguideserver.mapper;


import com.zhao.fishingguideserver.POJO.Product;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author Thinkpad
* @description 针对表【product(商品表)】的数据库操作Mapper
* @createDate 2025-10-10 23:38:11
* @Entity generator.POJO.Product
*/
@Mapper
public interface ProductMapper {

    int deleteByPrimaryKey(Long id);

    int insert(Product product);

    int insertSelective(Product record);

    Product selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Product record);

    int updateByPrimaryKey(Product record);

    List<Product> selectAll();

    /**
     * 查询所有在售商品（前端首页展示）
     */
    List<Product> selectAvailable();

    /**
     * 根据用户ID查询商品
     */
    List<Product> selectByUserId(@Param("userId") Integer userId);

    /**
     * 根据条件搜索商品
     */
    List<Product> searchProducts(
            @Param("keyword") String keyword,
            @Param("minPrice") Integer minPrice,
            @Param("maxPrice") Integer maxPrice,
            @Param("oldLevel") Integer oldLevel
    );

    /**
     * 根据新旧程度查询商品
     */
    List<Product> selectByOldLevel(@Param("oldLevel") Integer oldLevel);
}
